/**
 *  
 *  Copyright (c) 2011,
 *  GaoTime
 *  All rights reserved.
 *   
 *  @file       StringTools.h
 *  @brief      字符串工具
 *   
 *  
 *   
 *  @version    1.1
 *  @author     imuse
 *  @date       2011-06-16
 *   
 *   
 *  修订说明：最初版本  
 */
#ifndef STRING_TOOLS_H
#define STRING_TOOLS_H

/**查找子串在父串中的位置
 *
 *  @param char     *pSrc       父字符串
 *  @param int      nLen        父字符串的长度
 *  @param char		*pSub       子字符串
 *  @param char		nSubLen		子字符串的长度
 *
 *  @return int		子串在父串中的位置，如果父串中不包含子串，返回-1
 */
int StringTools_FindSubString(char *pSrc, int nSrcLen, char *pSub, int nSubLen);

/**截取指定标记之间的内容
 *
 *  @param char     *pSrc       源字符串
 *  @param int      nLen        源字符串的长度
 *  @param char     *pDes       目标字符串
 *  @param char     nSubLen		目标字符串的长度
 *  @param char     *pStart		起始字符串
 *  @param int      nStartLen	起始字符串的长度
 *  @param char     *pEnd		结束字符串
 *  @param int      nEndLen		结束字符串的长度
 *
 *  @return -
 */
void StringTools_GetRightString(char *pSrc, char *pDes, char *pStart, char *pEnd);

/**替换字符串中的字符为另一个字符
 *
 *  @param char     *pSrc       被替换字符串
 *  @param int      nLen        被替换字符的长度
 *  @param char     cSrc        被替换的字符 
 *  @param char     cDest       用来做替换的字符
 *
 *  @return -
 */
void StringTools_Replace( char *pSrc,int nLen,char cSrc,char cDest);

/**从源字符串中删除指定的字符串
 *
 *  @param char     *pSrc       源字符串
 *  @param int      nLen        源字符的长度
 *  @param char     pDest       要删除字符串
 *
 *  @return -
 */
void StringTools_DeleteString( char *pSrc,int nLen,char *pDest);

/**从源字符串中过滤中文
 *
 *  @param char     *pSrc       源字符串
 *  @param int      nLen        源字符的长度
 *
 *  @return -
 */
void StringTools_FilterChineseString( char *pSrc,int nLen);

/**统计子串在父串中出现的次数
 *
 *  @param char     *strbuf     父串
 *  @param char     *ssub       子串
 *
 *  @return int     子串出现在次数
 */
int StringTools_SubStrCount(char *strbuf, char *ssub);

/**替换父串中子串(生成新串)
 *
 *  @param char     *strbuf     源字符串
 *  @param char     *sstr       被替换子串
 *  @param char     *dstr       替换子串
 *
 *  @return char*   生成的新串
 *  @note   需要外部释放返回指针
 */
char* StringTools_ReplaceSubStr(char *strbuf, char *sstr, char *dstr);

/**
 * 功能:
 *		查找最后一个字符位置
 * 参数:
 *		char            *pSrc       源字符串
 *		int             nLen        源字符的长度
 *		char			c			要查找的字符
 * 返回值:
 *		int				最后一次出现c的位置，未找到返回-1
 */
int StringTools_FindLastChar(char *pSrc, int aLen, char c);

#endif
